package com.miplus.ccrm.core.service.collect;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseService;
import com.miplus.ccrm.common.CmdResVo;
import com.miplus.ccrm.common.JSysUser;
import com.miplus.ccrm.core.controller.vo.ficase.*;
import com.miplus.ccrm.core.pojo.FiTask;

import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author pc
 * @description 针对表【fi_task】的数据库操作Service
 * @createDate 2024-04-08 23:55:42
 */

public interface FiTaskService extends MPJBaseService<FiTask> {
    Integer addTask(String usrid, String clid, String acctno, Integer channel, String phone, String result, String resultdsc, String batchid, Date dodt, String status);
    Integer addTask(String usrid, String clid, String acctno,Integer channel,String phone,String batchid, String cticallid);
    Integer addTask(String $usrid, String clid, Integer originnumber, Integer channel, Integer contactnumber, String phone,String cticallid);
    Integer addTask(String $usrid, String clid, Integer originnumber, Integer channel);
    Integer addTask(String usrid, String clid, Integer originnumber,Integer channel,Integer contactnumber,String phone, String result,String resultdsc);
    Integer addTask(String $usrid,String clid,Integer originnumber, Integer channel,String result, String resultdsc);
    Integer addTask(String usrid, String clid, Integer originnumber,String acctno,Integer channel,Integer contactnumber, String phone,String cticallid,String result,String resultdsc,String batchid,Date dodt,String status);
    int updateStatus(Integer tasknumber, String $usrid,String status);
    int saveTask(Integer tasknumber, String $usrid, String result, String resultdsc,String status);
    int saveTask(Integer tasknumber, String $usrid, String result, String resultdsc, String ptpstatus, BigDecimal ptp, Date ptpdt);
    int saveTask(Integer tasknumber, String $usrid, String result, String resultdsc,String ptpstatus, BigDecimal ptp, Date ptpdt,Date appointdt);
    int saveTask(Integer tasknumber, String $usrid,Integer sendtimes,String result, String resultdsc, String ptpstatus, BigDecimal ptp, Date ptpdt,Date appointdt,String tkstatus);
    CmdResVo addDialTask(String $usrid, TaskCallAddVo paras);
    CmdResVo saveDialTask(String $usrid, TaskCallSaveVo paras);
    CmdResVo addSmsTask(String $usrid, TaskSmsAddVo paras);
    CmdResVo saveSmsTask(String $usrid, TaskSmsSaveVo paras);
    List<FiTaskCurrVo> getCurrentTask(Integer ficaseid);
    IPage<FiTaskResVo> taskHist(JSysUser user, FiTaskReqVo paras);
    String getTaskStatus(Integer tasknumber,String result);
    CmdResVo taskTopSet(Integer tasknumber,Integer toppos);
    CmdResVo taskTopCancel(Integer tasknumber);
    ImpResultVo impTaskList(String $usrid,FiTaskImpVo paras);
    ImpResultVo impTaskCmdList(String $usrid, TaskCmdImpVo paras);
    CmdResVo delImpTaskList(TaskBatchDelVo paras);
    ImpResultVo impHistTaskList(String $usrid,HistTaskImpVo paras);
    CmdResVo saveAsExcel(JSysUser user, FiTaskReqVo paras, HttpServletResponse response);
}
